{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Bikeshare预测\n",
    "1) 请在 Capital Bikeshare （美国 Washington, D.C.的一个共享单车公司）提供的自行 车数据上进行回归分析。训练数据为 2011 年的数据，要求预测 2012 年每天的单车 共享数量\n",
    "\n",
    "原始数据集地址：http://archive.ics.uci.edu/ml/datasets/Bike+Sharing+Dataset 1) 文件说明 day.csv: 按天计的单车共享次数（作业只需使用该文件） hour.csv: 按小时计的单车共享次数（无需理会） readme：数据说明文件\n",
    "\n",
    "2) 字段说明 Instant记录号 Dteday：日期 Season：季节（1=春天、2=夏天、3=秋天、4=冬天） yr：年份，(0: 2011, 1:2012) mnth：月份( 1 to 12) hr：小时 (0 to 23) （只在hour.csv有，作业忽略此字段） holiday：是否是节假日 weekday：星期中的哪天，取值为0～6 workingday：是否工作日 1=工作日 （是否为工作日，1为工作日，0为非周末或节假日 weathersit：天气（1：晴天，多云 ",
    "2：雾天，阴天 ",
    "3：小雪，小雨 ",
    "4：大雨，大雪，大雾） temp：气温摄氏度 atemp：体感温度 hum：湿度 windspeed：风速\n",
    "\n",
    "casual：非注册用户个数 registered：注册用户个数 cnt：给定日期（天）时间（每小时）总租车人数，响应变量y casual、registered和cnt三个特征均为要预测的y，作业里只需对cnt进行预测\n",
    "\n",
    "**********************************************************************************************************************************************\n",
    "季节,月份，星期，天气，这些是类别特征，用数字表示是不合适的，需要OneHot编码\n",
    "是否是节假日，是否工作日，这样只有0，1的判别特征不需要标准化\n",
    "\n",
    "思路：\n",
    "1）读入数据：用pandas读入csv文件，根据yr（年份）标签的0，1值将数据分成训练集和测试集\n",
    "2）数据探索：大概看一下数据信息，分布，有没有空值等\n",
    "3）特征工程：机器学习还是需要人工处理特征，一般是对连续值特征标准化（也有MinMaxScaler等方法），类别特征做OneHot编码等，具体看特征工程ppt\n",
    "4）确定模型：本题是回归问题，题目要求用Lasso和岭回归\n",
    "5）模型训练："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "#模型，ElasticNetCV（弹性网络）这里没用\n",
    "from sklearn.linear_model import LinearRegression, RidgeCV, LassoCV, ElasticNetCV\n",
    "\n",
    "#模型评估\n",
    "from sklearn.metrics import mean_squared_error, r2_score\n",
    "\n",
    "#可视化\n",
    "import matplotlib as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "#读入文件\n",
    "data = pd.read_csv(\"day_\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
